Hardware devices may interface with other hardware devices in order to acquire data or perform tasks. Hardware devices may include, for example, instruments or measurement devices that gather, generate, and output data. In some situations, multiple hardware devices sending and receiving multiple streams of data must cooperate with each other.
For example, consider a system including a video camera recording images at a rate of 4000 frames/second (fps) and a microphone recording audio data at a rate of 128 kbit/second (kbps). In some situations, it may be desirable to synchronize the images recorded by the camera with the audio recorded by the microphone so that the precise event described in one or more pictures can be correlated to the sound that the event generated. Such a procedure is useful, for example, in laryngeal cinematography, wherein the motions of a patient's larynx are correlated to sounds produced in the larynx.
In order to synchronize the data, it may be necessary for the hardware devices to communicate with each other. Hardware devices typically provide for analog input, analog output, and digital I/O from a variety of data acquisition hardware. The hardware devices may use one or more types of interdevice connections and protocols in order to communicate with each other. In order to facilitate interaction between hardware devices and between hardware devices and software environments, various types of tools have been developed. For example, Test & Measurement tools may provide a means for two or more hardware devices to interact with each other in order to perform a diagnostic test or take a measurement. Industrial Automation tools may similarly provide an interface between hardware devices in order to monitor the state of the hardware devices during an industrial task.